﻿var hostValue = 'http://localhost:5441';
//var hostValue = 'http://ventas.decor-center.com/DecorTablet';
//var hostValue = 'http://ventas.decor-center.com/decorTabletQAs';

//var rutaImpresion = 'http://ventas.decor-center.com/DecorPrd/';
var rutaImpresion = 'http://ventas.decor-center.com/DecorQAs/';

var Apariciones = 0;
function valAp(val) {
    if (Apariciones >= 1) {
        return true;
    }
}

var UMUnidad = ['UN'];

function addCommas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

function umUnidad(item) {
    for (i = 0; i < UMUnidad.length; i++) {
        if (UMUnidad[i] === item) {
            return true;
        }
    }
    return false;
}
var mainPage = 'menu.html';

function validateUser(storeName) {
    storeName.read();
    var item = storeName.getAt(0);
    if (!item) {
        window.open('index.html', '_self');
    }
    Ext.apply(Ext.util.Format, {
        defaultDateFormat: 'd/m/Y'
    });
}

var mod = function(n, m) {
    var remain = n % m;
    return Math.floor(remain >= 0 ? remain : remain + m);
};

function calculateAge(dob) {
    //var dob = new Date(dobString);
    var currentDate = new Date();
    var currentYear = currentDate.getFullYear();
    var birthdayThisYear = new Date(currentYear, dob.getMonth(), dob.getDate());
    var age = currentYear - dob.getFullYear();

    if (birthdayThisYear > currentDate) {
        age--;
    }

    return age;
}


var docPedidoXPiezas = ['Z009','Z010'];

function insideArray(item) {
    for (i = 0; i < docPedidoXPiezas.length; i++) {
        if (docPedidoXPiezas[i] === item) {
            return true;
        }
    }
    return false;
}
//agregado para que deje grabar las preguntas de fidelizacion: 'ZO02','Z002','Z003','Z004','Z034'
var docFidelizacion = ['ZO01', 'Z001','ZO02','Z002','Z003','Z004','Z034']; 

function docFid(item) {
    for (i = 0; i < docFidelizacion.length; i++) {
        if (docFidelizacion[i] === item) {
            return true;
        }
    }
    return false;
}

function prepareForm(formName) {
    //--añadir campos hidden
    formName.add({ xtype: 'hiddenfield', id: 'UserId', name: 'UserId', value: SAPUserStore.data.getAt(0).data.User });
    formName.add({ xtype: 'hiddenfield', id: 'PwdId', name: 'PwdId', value: SAPUserStore.data.getAt(0).data.Password });
    formName.add({ xtype: 'hiddenfield', id: 'Id', name: 'Id', value: SAPUserStore.data.getAt(0).data.Id });
    formName.add({ xtype: 'hiddenfield', id: 'GrpVend', name: 'GrpVend', value: UsuarioWebStore.data.getAt(0).data.GrpVend });
    formName.add({ xtype: 'hiddenfield', id: 'Descripcion', name: 'Descripcion', value: UsuarioWebStore.data.getAt(0).data.Descripcion });
    formName.add({ xtype: 'hiddenfield', id: 'CodigoVendedor', name: 'CodigoVendedor', value: UsuarioWebStore.data.getAt(0).data.PerNr });
    formName.add({ xtype: 'hiddenfield', id: 'OrgVentas', name: 'OrgVentas', value: UsuarioWebStore.data.getAt(0).data.OrgVentas });
    formName.add({ xtype: 'hiddenfield', id: 'CanalDist', name: 'CanalDist', value: UsuarioWebStore.data.getAt(0).data.CanalDist });
}
function is_array(input) {
    return typeof (input) == 'object' && (input instanceof Array);
}
function getParamStoreItem(Id) {
    ParametroStore.load();
    var items = ParametroStore.data.items;
    if (is_array(items)) {
        for (var i = 0; i <= items.length; i++) {
            if (items[i].data.Id == Id) {
                return items[i].data.Model;
            }
        }
    }
    return null;
}

function padLeft(nr, n, str) {
    return Array(n - String(nr).length + 1).join(str || '0') + nr;
}

function ltrim(s) {
    var l = 0;
    while (l < s.length && s[l] == 0)
    { l++; }
    return s.substring(l, s.length);
}

function allnumeric(inputtxt) {
    var numbers = /^[0-9]+$/;
    if (inputtxt.match(numbers)) {
        return true;
    }
    else {
        return false;
    }
}

function restoF(x, y) {
    var d = parseFloat(x / y).toString();
    var l = 0;
    for (var i = 0; i < d.length; i++) {
        if (d[i] == ".") {
            if (d[i + 1] == '0' && d[i + 2] == '0') {
                l = 0
            }
            else {
                l = 1
            }
        }
    }
    return l;
}

function roundNumber(num, dec) {
    var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
    return result;
}

function leerReclamo(formName) {
    prepareForm(formName);
    SAPUserStore.load();
    formName.submit({
        method: 'POST',
        url: hostValue + '/editarReclamo.aspx',
        waitMsg: { message: 'Conectando ...', cls: 'demos-loading' },
        success: function(form, action) {
            if (action.success) {
                console.log("Hecho");
                var Z_Reclamo = action.objReclamo.Z_Reclamo;
                var DocComercial = action.objReclamo.DocComercial;
                var Contactos = action.objReclamo.Contactos;
                var textos = action.objReclamo.Texto;
                var TextoTratemInicial = "";
                var TextoNotaDireccion = "";
                var TextoSeguimiento = "";
                var TextoDiagnostico = "";
                var TextoSolucion = "";
                var TextoPersonaContacto = "";
                var TextoDatosFacturacion = "";
                var TextoPedidoReferencia = "";
                var TextoMotivosOtros = "";
                for (var i = 0; i < textos.length; i++) {
                    var currentTexto = textos[i];
                    if (currentTexto.CodTexto == '0001') {
                        TextoTratemInicial = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == '0004') {
                        TextoNotaDireccion = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z006') {
                        TextoSeguimiento = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z007') {
                        TextoDiagnostico = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z008') {
                        TextoSolucion = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z009') {
                        TextoPersonaContacto = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z010') {
                        TextoDatosFacturacion = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z011') {
                        TextoPedidoReferencia = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'Z012') {
                        TextoMotivosOtros = currentTexto.Descripcion;
                    }
                }

                var KTABG = Contactos.KTABG;
                var KTABGC = KTABG.split(/[^0-9]/);
                var fechaI = new Date(KTABGC[0], KTABGC[1] - 1, KTABGC[2], KTABGC[3], KTABGC[4], KTABGC[5]);

                var KTAEN = Contactos.KTAEN;
                var KTAENC = KTAEN.split(/[^0-9]/);
                var fechaF = new Date(KTAENC[0], KTAENC[1] - 1, KTAENC[2], KTAENC[3], KTAENC[4], KTAENC[5]);

                //                var KTAEN = contactos.KTAEN;
                //                var KTAENC = KTAEN.split(/[^0-9]/);
                //                var fechaF = new Date(KTAENC[0], KTAENC[1] - 1, KTAENC[2], KTAENC[3], KTAENC[4], KTAENC[5]);

                var FCHA1 = Z_Reclamo.FCHA1;
                var FCHA12 = FCHA1.split(/[^0-9]/);
                var fechaSts = new Date(FCHA12[0], FCHA12[1] - 1, FCHA12[2], FCHA12[3], FCHA12[4], FCHA12[5]);

                var MATNR = ltrim(Z_Reclamo.MATNR);
                var MATNR2 = ltrim(Z_Reclamo.MATNR2);

                var actReclamo = action.reclamo[0];

                var reclamo = Ext.ModelMgr.create(
                { id: 1, pNumeroReclamo: Z_Reclamo.VBELN, horaReclamoI: Contactos.KTABT, horaReclamoF: Contactos.KTAET,
                    empresa: Contactos.KUNNR, numeroPedido: Contactos.VGBEL, comentario: Contactos.KTEXT, material1: MATNR,
                    material2: MATNR2, TextoTratemInicial: TextoTratemInicial, TextoNotaDireccion: TextoNotaDireccion,
                    TextoSeguimiento: TextoSeguimiento, TextoDiagnostico: TextoDiagnostico, TextoSolucion: TextoSolucion, TextoPersonaContacto: TextoPersonaContacto,
                    TextoDatosFacturacion: TextoDatosFacturacion, TextoPedidoReferencia: TextoPedidoReferencia, TextoMotivosOtros: TextoMotivosOtros,
                    mail: actReclamo.mail, _nif: actReclamo._nif, PersonaContacto: actReclamo.PersonaContacto, NomPContac: actReclamo.NomPContac,
                    DirPContac: actReclamo.DirPContac, NIFCont: actReclamo.NIFCont, TelfCont: actReclamo.TelfCont, CodpPContac: actReclamo.CodpPContac,
                    NomCliente: actReclamo.NomCliente, EmpresaDet: actReclamo.EmpresaDet, NomEmpresa: actReclamo.NomEmpresa,
                    DirEmpresa: actReclamo.DirEmpresa, TelfEmpre: actReclamo.TelfEmpre, CodpEmpresa: actReclamo.CodpEmpresa,
                    CodDestMerc: actReclamo.CodDestMerc, NomDestMerc: actReclamo.NomDestMerc, DirDestMerc: actReclamo.DirDestMerc,
                    CodpDestMerc: actReclamo.CodpDestMerc, CodECom: actReclamo.CodECom, NomECom: actReclamo.NomECom,
                    codigoEmpResp: actReclamo.codigoEmpResp, nombreEmpResp: actReclamo.nombreEmpResp, CodResPago: actReclamo.CodResPago,
                    NomResPago: actReclamo.NomResPago, OrgVenta: Contactos.VKORG, Canal: Contactos.VTWEG, OfiVenta: Contactos.VKBUR,
                    Motivo: Contactos.KTAGR, Resultado: Contactos.KTAER, JustificResul: Contactos.KTAEB, Sector: Contactos.SPART, Status: Contactos.KTAST,
                    UsuarioStatus: actReclamo.UsuarioStatus, Descripcion: actReclamo.Descripcion, fechaSts: fechaSts, fechaI: fechaI, fechaF: fechaF
                },
                'reclamoModel'
                );

                reclamoStore.add(reclamo);
                reclamoStore.sync();

                //**************************************************************
                var Interlocutor = action.objReclamo.Interlocutor;
                var interModelTmp = new Ext.regModel('interModelTmp', {
                    idProperty: 'id',
                    fields: [
                        { name: 'PARVW', type: 'string' },
                        { name: 'KUNNR', type: 'string' },
                        { name: 'NIF', type: 'string' },
                        { name: 'NOMBRE', type: 'string' },
                        { name: 'CodPostal', type: 'string' },
                        { name: 'PERNR', type: 'string' },
                        { name: 'Direccion', type: 'string' },
                        { name: 'Telefono', type: 'string' },
                        { name: 'ADRNR', type: 'string' },
                        { name: 'Ciudad', type: 'string' }
                    ]
                });
                var interTmp = new Ext.data.Store({
                    autoLoad: true,
                    model: 'interModelTmp',
                    proxy: {
                        type: 'localstorage',
                        id: 'interTmp'
                    }
                });
                interTmp.add(Interlocutor);
                interTmp.sync();
                var interArray = interTmp.data.items;
                for (var i = 0; i < interArray.length; i++) {
                    var currentInter = interArray[i];
                    var PARVW = currentInter.data.PARVW;
                    var KUNNR = currentInter.data.KUNNR;
                    var NIF = currentInter.data.NIF;
                    var NOMBRE = currentInter.data.NOMBRE;
                    var CodPostal = currentInter.data.CodPostal;
                    var PERNR = currentInter.data.PERNR;
                    var Direccion = currentInter.data.Direccion;
                    var Telefono = currentInter.data.Telefono;
                    var Ciudad = currentInter.data.Ciudad;
                    var ADRNR = currentInter.data.ADRNR;
                    var inter = Ext.ModelMgr.create(
					{ Funcion: PARVW, POSNR: '000000', Codigo: KUNNR, Ruc: NIF, Descripcion: NOMBRE, Direccion: Direccion, Telefono: Telefono,
					    Ciudad: Ciudad, CodigoPostal: CodPostal, Telefono: Telefono, CodPersona: PERNR, ADRNR: ADRNR, Nombre: NOMBRE
					},
					'interlocutoresRecModel'
					);
                    interlocutoresRecStore.add(inter);
                    interlocutoresRecStore.sync();
                }
                var inter5 = Ext.ModelMgr.create(
                { Funcion: 'AP', POSNR: '000000', Descripcion: Z_Reclamo.PCONTACTO, Direccion: Z_Reclamo.DIRECCION, Codigo: Contactos.KUNNR,
                    Ciudad: Z_Reclamo.CPOSTAL, CodigoPostal: Z_Reclamo.CPOSTAL, Telefono: Z_Reclamo.TELEFONO, Ruc: Z_Reclamo.NIF,
                    Pais: "PE"
                },
                'interlocutoresRecModel'
                );
                interlocutoresRecStore.add(inter5);
                interlocutoresRecStore.sync();
                //**************************************************************

                window.open("reclamo.html", "_self");
            }
        },
        failure: function(form, action) {
            Ext.Msg.alert('Aviso', action.errors.reason);
        }
    });
}

function leerDocumento(formName, tipo) {
    prepareForm(formName);
    SAPUserStore.load();
    if (estadoStore.last().data.Valor == 'mod') {
        formName.add({ xtype: 'hiddenfield', id: 'accion', name: 'accion', value: 'editar' });
    }
    else {
        formName.add({ xtype: 'hiddenfield', id: 'accion', name: 'accion', value: 'ver' });
    }
    if (estadoStore.last().data.Valor == 'ref') {
        formName.add({ xtype: 'hiddenfield', id: 'accion', name: 'accion', value: 'copiar' });
    }
    formName.submit({
        method: 'POST',
        url: hostValue + '/documentoVentas.aspx',
        waitMsg: { message: 'Conectando ...', cls: 'demos-loading' },
        success: function(form, action) {
            if (action.success) {
                var objCliente = action.objCliente;
                var objPedido = action.objPedido;
                var textos = objPedido.Textos;
                var textoAtencion = "";
                var textoAdminist = "";
                var textoFacturas = "";
                var textoDireccion = "";
                var textoContacto = "";
                var textoDatosAdicionalesCliente = "";
                var textoTelefonos = "";
                var textoDescripcionVisita = "";
                var textoResultadoVisita = "";
                var textoDescripcionServInstalacion = "";
                for (var i = 0; i < textos.length; i++) {
                    var currentTexto = textos[i];
                    if (currentTexto.CodTexto == 'ZP01') {
                        textoAtencion = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP05') {
                        textoAdminist = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP06') {
                        textoFacturas = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP07') {
                        textoDireccion = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP09') {
                        textoContacto = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP10') {
                        textoDatosAdicionalesCliente = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP11') {
                        textoResultadoVisita = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP12') {
                        textoTelefonos = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP13') {
                        textoDescripcionVisita = currentTexto.Descripcion;
                    }
                    if (currentTexto.CodTexto == 'ZP14') {
                        textoDescripcionServInstalacion = currentTexto.Descripcion;
                    }
                }

                var fechavalidez = objPedido.FechaValidez;
                var fechavalidezs = fechavalidez.split(/[^0-9]/);
                var fechavalidezd = new Date(fechavalidezs[0], fechavalidezs[1] - 1, fechavalidezs[2], fechavalidezs[3], fechavalidezs[4], fechavalidezs[5]);

                var fechaentrega = objPedido.FechaEntrega;
                var fechaentregas = fechaentrega.split(/[^0-9]/);
                var fechaentregad = new Date(fechaentregas[0], fechaentregas[1] - 1, fechaentregas[2], fechaentregas[3], fechaentregas[4], fechaentregas[5]);

                var fechapedido = objPedido.Fecha;
                var fechapedidos = fechapedido.split(/[^0-9]/);
                var fechapedidod = new Date(fechapedidos[0], fechapedidos[1] - 1, fechapedidos[2], fechapedidos[3], fechapedidos[4], fechapedidos[5]);

                var fechaprecio = objPedido.FechaPrecio;
                var fechaprecios = fechaprecio.split(/[^0-9]/);
                var fechapreciod = new Date(fechaprecios[0], fechaprecios[1] - 1, fechaprecios[2], fechaprecios[3], fechaprecios[4], fechaprecios[5]);

                var fechafact = objPedido.FechaFacturacion;
                var fechafacts = fechafact.split(/[^0-9]/);
                var fechafactd = new Date(fechafacts[0], fechafacts[1] - 1, fechafacts[2], fechafacts[3], fechafacts[4], fechafacts[5]);               
                var pedido = Ext.ModelMgr.create(
	                        { id: 1, CodTipoDoc: objPedido.CodTipoDoc, codigoCliente: action.codigoCliente, nombreCliente: objPedido.Interlocutores[0].Cliente.Descripcion,
	                            correo: action.correo, codigoSolicitante: action.codigoSolicitante, codigoDestFact: action.codigoDestFact,
	                            codigoResPago: action.codigoResPago, nombreSolicitante: action.nombreSolicitante, direccionSolicitante: action.direccionSolicitante,
	                            codigoPostalSolicitante: action.codigoPostalSolicitante, telefonoSolicitante: action.telefonoSolicitante, nifSolicitante: action.nifSolicitante,
	                            codigoDestMerc: action.codigoDestMerc, nombreDestMerc: action.nombreDestMerc, direccionDestMerc: action.direccionDestMerc,
	                            codigoPostalDestMerc: action.codigoPostalDestMerc, telefonoDestMerc: action.telefonoDestMerc, nombreDestFact: action.nombreDestFact,
	                            direccionDestFact: action.direccionDestFact, codigoPostalDestFact: action.codigoPostalDestFact, telefonoDestFact: action.telefonoDestFact,
	                            nombreResPago: action.nombreResPago, direccionResPago: action.direccionResPago, codigoPostalResPago: action.codigoPostalResPago,
	                            telefonoResPago: action.telefonoResPago, nifResPago: action.nifResPago, codigoCliente: action.codigoCliente, direccionCliente: action.direccionCliente, BonoCampania: objPedido.BonoCampania, RegaloCampania: objPedido.RegaloCampania,
	                            TipoVisita: objPedido.TipoVisita, Reenbolsable: objPedido.Reenbolsable, PedidoVenta1: objPedido.PedidoVenta1, PedidoVenta2: objPedido.PedidoVenta2,
	                            PedidoVenta3: objPedido.PedidoVenta3, PedidoVenta4: objPedido.PedidoVenta4, PedidoVisita1: objPedido.PedidoVisita1, PedidoVisita2: objPedido.PedidoVisita2,
	                            PedidoVisita3: objPedido.PedidoVisita3, PedidoVisita4: objPedido.PedidoVisita4, SubtotalImp: objPedido.SubtotalImp, FechaFacturacion: fechafactd,
	                            Mail: objPedido.Mail, TieneEntrega: objPedido.TieneEntrega, DocOriginal: objPedido.DocOriginal, Znpiso: objPedido.Znpiso,
	                            Ztransporte: objPedido.Ztransporte, Zasensor: objPedido.Zasensor, Zncservicio: objPedido.Zncservicio, Referencia: objPedido.Referencia,
	                            TieneKitCombo: objPedido.TieneKitCombo, NumPedido: objPedido.NumPedido, NumPedidoCorto: objPedido.NumPedidoCorto, FechaValidez: fechavalidezd,
	                            FechaValidezString: objPedido.FechaValidezString, FechaEntrega: fechaentregad, FechaEntregaString: objPedido.FechaEntregaString,
	                            CodCliente: objPedido.CodCliente, CodClienteCorto: objPedido.CodClienteCorto, OrdenCompra: objPedido.OrdenCompra, CodTipoDoc: objPedido.CodTipoDoc,
	                            CodOficina: objPedido.CodOficina, CodGrupoVend: objPedido.CodGrupoVend, OrgVentas: objPedido.OrgVentas, CanalDist: objPedido.CanalDist,
	                            Sector: objPedido.Sector, SubTotal: action.SubTotal, Igv: action.Igv, Total: action.Total, TotalImp: action.TotalImp, PesoTotal: action.PesoTotal,
	                            Moneda: action.Moneda, CondPago: objPedido.CondPago, CondExp: objPedido.CondExp, GrupoCond: action.GrupoCond, BloqueoEntrega: action.BloqueoEntrega,
	                            BloqueoFactura: action.BloqueoFactura, Motivo: action.Motivo, TipoCambio: action.TipoCambio, Tratado: objPedido.Tratado, Estado: action.Estado,
	                            ClasePedidoCliente: action.ClasePedidoCliente, ClaseDocumento: action.ClaseDocumento, TotalConIgv: action.TotalConIgv, nomProyecto: action.NomProyecto, codProyecto: objPedido.codProyecto, codVersion: objPedido.codVersion,
	                            FechaPedido: fechapedidod, FechaPedidoString: objPedido.FechaString, dsctoAdicionalZD12: objPedido.dsctoAdicionalZD12, FechaPrecio: fechapreciod,
	                            textoAtencion: textoAtencion,
	                            textoObsAdministrativas: textoAdminist,
	                            textoRefFactura: textoFacturas,
	                            textoRefDireccion: textoDireccion,
	                            textoContacto: textoContacto,
	                            textoDatosAdicionalesCliente: textoDatosAdicionalesCliente,
	                            textoTelefonos: textoTelefonos,
	                            textoDescripcionVisita: textoDescripcionVisita,
	                            textoResultadoVisita: textoResultadoVisita,
	                            textoDescripcionServInstalacion: textoDescripcionServInstalacion,
	                            dsctoAdicionalZD12tmp: objPedido.dsctoAdicionalZD12tmp,
	                            dsctoAdicionalZD12: objPedido.dsctoAdicionalZD12,
	                            CodTipoDocAnt: objPedido.CodTipoDocAnt,
	                            NumPedido: objPedido.NumPedido,
	                            TotalDcto: action.TotalDcto
	                        },
	                        'objPedidoModel'
	                        );
                objPedidoStore.add(pedido);
                objPedidoStore.sync();
                //***********Fidelizacion Clientes*********
                objPedidoStore.last().set('datosCliente', action.datoReniec[0]);
                objPedidoStore.last().set('listaPre', action.listCliPregResp);
                objPedidoStore.sync();
                var cliEve = Ext.ModelMgr.create(
                { codigoCliente: objCliente.Codigo, nombreCliente: objCliente.Descripcion, esEventual: objCliente.Eventual }, 'cliEventualModel');
                cliEventualStore.add(cliEve);
                cliEventualStore.sync();
                //************Referencia*******************
                var doc = objPedidoStore.last();
                var estado = estadoStore.last();
                if (estado.data.Valor == 'ref') {
                    doc.set('DocOriginal', objPedido.NumPedido);
                    doc.set('Referencia', objPedido.NumPedido);
                    objPedidoStore.sync();
                }
                //************Interlocutores***************
                var inter = objPedido.Interlocutores;
                for (var j = 0; j < inter.length; j++) {
                    var currentInter = inter[j];
                    var inter1 = Ext.ModelMgr.create(
				    { Funcion: currentInter.Funcion, Codigo: currentInter.Cliente.Codigo, Ruc: currentInter.Cliente.Ruc, Descripcion: currentInter.Cliente.Descripcion,
				        Direccion: currentInter.Cliente.Direccion, DireccionCompleta: currentInter.Cliente.DireccionCompleta, Distrito: currentInter.Cliente.Distrito, Telefono: currentInter.Cliente.Telefono, Mail: currentInter.Cliente.Mail,
				        Ciudad: currentInter.Cliente.Ciudad, Pais: currentInter.Cliente.Pais, CodigoPostal: currentInter.Cliente.CodigoPostal, Titulo: currentInter.Cliente.Titulo,
				        PersonaFisica: currentInter.Cliente.PersonaFisica, Eventual: currentInter.Cliente.Eventual, CodPersona: currentInter.Persona.CodPersona, Nombre: currentInter.Persona.Nombre,
				        Apellido: currentInter.Persona.Apellido, Iniciales: currentInter.Persona.Iniciales, ApeSoltero: currentInter.Persona.ApeSoltero, DescripcionP: currentInter.Persona.Descripcion,
				        Dni: currentInter.Persona.Dni, TelefonoP: currentInter.Persona.Telefono, TranspZone: currentInter.Cliente.TranspZone
				    },
				    'interlocutoresModel'
			        );
                    interlocutoresStore.add(inter1);
                    
                }
                
                interlocutoresStore.sync();
                ///////////////////////
                var interAG = interlocutoresStore.findRecord('Funcion', 'AG');
                
                 if (null != interlocutoresStore.findRecord('Funcion', 'AG') && interAG.data.Mail == "" ) {
                        
                     var doc = objPedidoStore.last();
                     interAG.set('Mail', objPedido.Mail);
                     interlocutoresStore.sync();
                    
                 
                 }
                //////////////////////////////////////////////////
                
                //************Detalle Pedido***************
                for (var i = 0; i < objPedido.Detalle.length; i++) {
                    var fechacant = objPedido.Detalle[i].FechaCantConf;
                    var fechacants = fechacant.split(/[^0-9]/);
                    var fechacantd = new Date(fechacants[0], fechacants[1] - 1, fechacants[2], fechacants[3], fechacants[4], fechacants[5]);

                    objPedido.Detalle[i].FechaCantConf = fechacantd;

                    var mat = objPedido.Detalle[i];
                    detalleMaterialStore.add(mat);
                    mat.Diferencia.Denominacion = " Mat.Diferencia";
                    mat.PreZP08.Denominacion = " Pr.Srv.Transp.Manual";
                    //Descuentos
                    var dctoZD00 = mat.DctoDecorPorc;
                    var dctoZD01 = mat.DctoDecorMonto;
                    var dctoZD02 = mat.DctoAdicionalPorc;
                    var dctoZD03 = mat.DctoEstadisticoPorc;
                    var dctoZD04 = mat.DctoGerenciaPorc;
                    var dctoZD05 = mat.DctoGerenciaMonto;
                    var dctoZD06 = mat.DctoZD06;
                    var dctoZD07 = mat.DctoZD07;
                    var dctoZD08 = mat.DctoGenericoZD08;
                    var dctoZD09 = mat.DctoGenerico;
                    var dctoZD11 = mat.DctoZD11;
                    var dctoZP01 = mat.Diferencia;
                    var dctoZP08 = mat.PreZP08;
                    var dctoZD12 = mat.DsctoAdicionalZD12;
                    var precio = mat.Precio;


                    dctoStore.add(dctoZD00);
                    dctoStore.add(dctoZD01);
                    dctoStore.add(dctoZD02);
                    dctoStore.add(dctoZD03);
                    dctoStore.add(dctoZD04);
                    dctoStore.add(dctoZD05);
                    dctoStore.add(dctoZD06);
                    dctoStore.add(dctoZD07);
                    dctoStore.add(dctoZD08);
                    dctoStore.add(dctoZD09);
                    dctoStore.add(dctoZD11);
                    dctoStore.add(dctoZD12);
                    dctoStore.add(dctoZP01);
                    dctoStore.add(dctoZP08);
                    dctoStore.add(precio);
                    
                    dctoStore.sync();
                    var dcto = dctoStore.data.items;
                    //***********************************************
                    var j = 0;
                    if (detalleMaterialStore.getCount() > 1) {
                        j = 15 * (detalleMaterialStore.getCount() - 1);
                    }
                    //***********************************************
                    for (j; j < dctoStore.data.length; j++) {
                        var currentDcto = dcto[j];
                        currentDcto.set('matPosicion', mat.PosicionCorto);
                    }
                    dctoStore.sync();

                    //Repartos
                    var reparto = mat.Repartos;
                    for (var z = 0; z < reparto.length; z++) {
                        var fecharep = reparto[z].FechaEntrega;
                        var fechareps = fecharep.split(/[^0-9]/);
                        var fecharepd = new Date(fechareps[0], fechareps[1] - 1, fechareps[2], fechareps[3], fechareps[4], fechareps[5]);

                        reparto[z].FechaEntrega = fecharepd;
                        reparto[z].matPosicion = mat.PosicionCorto;
                        repartoStore.add(reparto[z]);
                    }
                    repartoStore.sync();

                    var rep = repartoStore.data.items;
                    //***********************************************
                    var g = 0;
                    if (detalleMaterialStore.getCount() > 1) {
                        g = 1 * (detalleMaterialStore.getCount() - 1);
                    }
                    //***********************************************
                    for (g; g < repartoStore.data.length; g++) {
                        var currentRpto = rep[g];
                        //currentRpto.set('matPosicion', mat.PosicionCorto);
                        repartoStore.sync();
                    }
                    detalleMaterialStore.sync();
                }
                if (objPedidoStore.last().data.CodTipoDoc != 'Z004') {
                    var estado = estadoStore.last();
                    if (objPedidoStore.last().data.Tratado && estado.data.Valor == 'ver') {                        
                        estado.set('Valor', 'ver');
                        estado.dirty = true;
                        estadoStore.sync();
                        window.open("documento.html", "_self");
                    }
                    if (objPedidoStore.last().data.Tratado && estado.data.Valor == 'mod') {
                        var estado = estadoStore.last();
                        estado.set('Valor', 'mod');
                        estado.dirty = true;
                        estadoStore.sync();
                        window.open("documento.html", "_self");
                    }
                    else {
                        window.open("documento.html", "_self");
                    }
                }
                else {
                    console.log("Hecho");
                    if (action.planFacturacion == null || action.planFacturacion.length <= 0) {
                        var now = new Date();
                        var storeCount = planFactStore.getCount();
                        var pos = padLeft((storeCount + 1), 6);
                        var planFact = Ext.ModelMgr.create(
					    { FPLTR: pos, FKDAT: now, AFDAT: now, FAKSP: '02', WAERS: 'PEN', FAREG: '1', FKSAF: 'A', TAXK1: 'I', FKARV: 'ZFAC', MLSTN: '000000000000' },
					    'planFactModel'
				        );
                        planFactStore.add(planFact);
                        planFactStore.sync();
                        if (objPedidoStore.last()) {
                            if (objPedidoStore.last().data.Tratado && estadoStore.last().data.Valor == 'ver') {
                                var estado = estadoStore.last();
                                estado.set('Valor', 'ver');
                                estado.dirty = true;
                                estadoStore.sync();
                                window.open("documento.html", "_self");
                            }
                            else if (objPedidoStore.last().data.Tratado && estadoStore.last().data.Valor == 'mod') {
                                var estado = estadoStore.last();
                                estado.set('Valor', 'mod');
                                estado.dirty = true;
                                estadoStore.sync();
                                window.open("documento.html", "_self");
                            }
                            else {
                                window.open("documento.html", "_self");
                            }
                        }
                    }
                    else {
                        planFactStore.add(action.planFacturacion);
                        planFactStore.sync();
                        if (objPedidoStore.last()) {
                            if (objPedidoStore.last().data.Tratado && estadoStore.last().data.Valor == 'ver') {
                                var estado = estadoStore.last();
                                estado.set('Valor', 'ver');
                                estado.dirty = true;
                                estadoStore.sync();
                                window.open("documento.html", "_self");
                            }
                            else if (objPedidoStore.last().data.Tratado && estadoStore.last().data.Valor == 'mod') {
                                var estado = estadoStore.last();
                                estado.set('Valor', 'mod');
                                estado.dirty = true;
                                estadoStore.sync();
                                window.open("documento.html", "_self");
                            }
                            else {
                                window.open("documento.html", "_self");
                            }
                        }
                    }
                }
            }
        },
        failure: function(form, action) {
            Ext.Msg.alert('Aviso', action.errors.reason);
        }
    });
}